/* NormalServiceDiscoveryProfileTestCase.java Copyright (c) 2014 NTT DOCOMO,INC. Released under the MIT license http://opensource.org/licenses/mit-license.php */ package org.deviceconnect.android.profile.intent.test; import android.support.test.runner.AndroidJUnit4; import org.deviceconnect.message.DConnectMessage; import org.deviceconnect.message.DConnectResponseMessage; import org.hamcrest.CoreMatchers; import org.junit.Test; import org.junit.runner.RunWith; import java.util.List; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.Matchers.greaterThan; import static org.hamcrest.core.IsNull.notNullValue; import static org.junit.Assert.assertThat; /** * Service Discoveryプロファイルの正常系テスト. * * @author NTT DOCOMO, INC. */ @RunWith(AndroidJUnit4.class) public class NormalServiceDiscoveryProfileTestCase extends IntentDConnectTestCase { /** * サービスの探索を行う. * * <pre> * 【Intent通信】 * Method: GET * Extra: * profile=serviceDiscovery * </pre> * * <pre> * 【期待する動作】 * ・resultに0が返ってくること。 * ・servicesに少なくとも1つ以上のサービスが発見されること。 * ・servicesの中に「Test Success Device」のnameを持ったサービスが存在すること。 * </pre> */ @Test public void testGetServices() { String uri = "http://localhost:4035/gotapi/serviceDiscovery"; uri += "?accessToken=" + getAccessToken(); DConnectResponseMessage response = mDConnectSDK.get(uri); assertThat(response, is(notNullValue())); assertThat(response.getResult(), is(DConnectMessage.RESULT_OK)); List<Object> services = response.getList("services"); assertThat(services, is(CoreMatchers.notNullValue())); assertThat(services.size(), is(greaterThan(0))); for (Object obj : services) { DConnectMessage service = (DConnectMessage) obj; String id = service.getString("id"); String name = service.getString("name"); assertThat(id, is(CoreMatchers.notNullValue())); assertThat(name, is(CoreMatchers.notNullValue())); } } }